package Handler

import (
	"fishDemo/common"
	"github.com/gin-gonic/gin"
	"log"
	"net/http"
)

// 自定义中间件
func MyHandler() gin.HandlerFunc {
	log.Println("登录处理哦")
	return func(context *gin.Context) {
		//通过自定义的中间件，设置的值，在后续 处理只需调用这个中间见，都可以拿到这里的参数
		username := context.Query("username")
		redisdb := common.GetRedisDB()
		tokenname := username + "_token"
		gettoken, err := redisdb.Get(tokenname).Result()
		if err != nil {
			log.Println("主页接口 token获取失败：", err, ",redis key是", tokenname)
		}
		log.Println("获取到的token为：", gettoken)
		if gettoken == "" {
			//阻止
			context.Abort()
			context.JSON(http.StatusOK, gin.H{"msg": "你小子还没登录呢！"})

		} else {
			//放行
			context.Next()
		}

	}
}
